#include <stdio.h>
int cmp(char *x,char *y){
    while(*x==*y){
        x++;
        y++;
    }
    return *x>*y;
}

int main(){
    int n,len=0,cnt=0;
    char tmp[1005],t;
    scanf("%d",&n);
    char **arr=malloc(sizeof(char*)*(n+5));
    t=getc(stdin);
    for(int i=1;i<=n;i++){
        len=0;
        gets(tmp);
        while(tmp[len++]);
        arr[++cnt]=malloc(sizeof(char)*(len+5));
        for(int i=0;i<len;i++)arr[cnt][i]=tmp[i];
    }
    for(int i=1;i<=n;i++){
        for(int j=i+1;j<=n;j++){
            if(cmp(arr[i],arr[j])){
                char *t=arr[i];
                arr[i]=arr[j];
                arr[j]=t;
            }
        }
    }
    for(int i=1;i<=n;i++){
        printf("%s\n",arr[i]);
        free(arr[i]);
    }
    free(arr);
    return 0;
}